home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 300_01 / ftst_v2d.c < prev    next >
C/C++ Source or Header  |  1989-12-28  |  6KB  |  171 lines

  1. /*   HEADER:   CUG300;
  2.       TITLE:   Float array test;
  3.        DATE:   3/12/1989;
  4. DESCRIPTION:   "Test all float arrays functions";
  5.     VERSION:   2.03;
  6.    FILENAME:   FTST_V2D.C;
  7.    SEE-ALSO:   MAT_V2D.H;
  8. */
  9.  
  10. /*   (C) COPYRIGHT BY JOHN J. HUGHES III, 1989  */
  11.  
  12. #include <stdio.h>
  13. #include "mat_v2D.h"
  14.  
  15. main()
  16.  
  17. {
  18. register int i,j;
  19. int r, c, rows, cols,DEBUG;
  20. struct fmat *A, *B, *C, *D, *E, *F;
  21. FILE *results;
  22. float test;
  23.  
  24.    printf("Enter DEBUG level => "); scanf("%d",&DEBUG);
  25.  
  26.    if(DEBUG>0) puts("mfcnt(A.DTA)");
  27.       mfcnt("A.DTA",&rows,&cols);
  28.    if(DEBUG>0) puts("fdim(A)");
  29.       fdim(A,rows,cols);
  30.    if(DEBUG>0) puts("mfget(A)");
  31.       mfget ("A.DTA",A);
  32.    if(DEBUG>0) puts("mfcnt(B)");
  33.       mfcnt("B.DTA",&rows,&cols);
  34.    if(DEBUG>0) puts("fdim(B)");
  35.       fdim(B,rows,cols);
  36.    if(DEBUG>0) puts("mfread(B)");
  37.       mfread (B,"B.DTA");
  38.    if(DEBUG>0) puts("mfcnt(C)");
  39.       mfcnt("C.DTA",&rows,&cols);
  40.    if(DEBUG>0) puts("fdim(C)");
  41.       fdim(C,rows,cols);
  42.    if(DEBUG>0) puts("mfread(C)");
  43.       mfread (C,"C.DTA");
  44.    if(DEBUG>9) { puts("mfdump(A)");
  45.       mfdump(A);}
  46.    if(DEBUG>9) { puts("mfdump(B)");
  47.       mfdump(B); }
  48.    if(DEBUG>9) { puts("mfdump(C)");
  49.       mfdump(C);}
  50.    if(DEBUG>0)
  51.       printf ("cofactor A 1,1 -> %f\n",mfcof(A,0,0) );
  52.    if(DEBUG>0)
  53.       printf ("cofactor A 2,1 -> %f\n",mfcof(A,1,0) );
  54.    if(DEBUG>0)
  55.       printf ("cofactor A 3,1 -> %f\n",mfcof(A,2,0) );
  56.    if(DEBUG>0)
  57.       printf ("determinant A -> %f\n",mfdet(A) );
  58.    if(DEBUG>0) puts("fdim(D)");
  59.       fdim(D,3,3);
  60.    if(DEBUG>0) puts("mftrnsp(A into D)");
  61.       mftrnsp(D,A);
  62.    if(DEBUG>9) { puts("mfdump(D)");
  63.       mfdump(D); }
  64.    if(DEBUG>0) puts("mfinv(B into D)");
  65.       mfinv (D,B);
  66.    if(DEBUG>0) puts("mfstore(D into INVB.DTA)");
  67.       mfstore ("INVB.DTA",D);
  68.    if(DEBUG>0) puts("mfstore(D into INVB.DTA)");
  69.       fdim(E,3,3);
  70.    if(DEBUG>0) puts("mult D by 42");
  71.       all(D,r,c) f(E,r,c) = 42 * f(D,r,c);
  72.    if(DEBUG>9) { puts("mfdump(E)");
  73.       mfdump(E); }
  74.    if(DEBUG>0) puts("add A to B & put into E");
  75.       all(A,r,c) f(E,r,c) = f(A,r,c) + f(B,r,c);
  76.    if(DEBUG>9) { puts("mfdump(E)");
  77.       mfdump( E ); }
  78.    if(DEBUG>0) puts("frel(E)");
  79.       frel(E);
  80.    if(DEBUG>0) puts("fdim(E)");
  81.       fdim(E,no_rows(C),1);
  82.    if(DEBUG>0) puts("mfmlt D x C => E");
  83.       mfmlt(E,D,C);
  84.    if(DEBUG>9) { puts("mfdump(E)");
  85.       mfdump(E); }
  86.    if(DEBUG>0) puts("solve B & C => E");
  87.       mfslv (E,B,C);
  88.    if(DEBUG>9) { puts("mfdump(E)");
  89.       mfdump (E); }
  90.    if(DEBUG>0) puts("create file RESULT.OUT");
  91.       flcreat("Result.out",results);
  92.    if(DEBUG>0) puts("place 3 cols of A into RESULT.OUT");
  93.       mfput (results,A, "c1 c2 c3", "c1 c3",72, 2, 1 );
  94.    if(DEBUG>0) puts("frel(E)");
  95.       frel(E);
  96.    if(DEBUG>0) puts("fdim(E) to new size");
  97.       fdim(E,3,3);
  98.    if(DEBUG>0) puts("copy A into E");
  99.       mfcpy(E,A);
  100.    if(DEBUG>9) { puts("mfdump(E)");
  101.       mfdump(E); }
  102.    if(DEBUG>0) puts("frel(E)");
  103.       frel(E);
  104.    if(DEBUG>0) puts("frel(E)");
  105.       mfcnt("big.dta",&rows,&cols);
  106.    if(DEBUG>0) puts("fdim(E)");
  107.       fdim(E,rows,cols);
  108.    if(DEBUG>0) puts("mfread(BIG.DTA");
  109.       mfread(E,"big.dta");
  110.    if(DEBUG>0) { puts("sum columns");
  111.       test = mfsumc( E, 1, 2, 5);
  112.       printf("column sum = %f\n",test);  }
  113.    if(DEBUG>9) { puts("mfdump(E)");
  114.       mfdump (E); }
  115.    if(DEBUG>0) puts("mfread(BIG.DTA into E");
  116.       mfread(E,"big.dta");
  117.    if(DEBUG>0) { puts("sum rows");
  118.       test = mfsumr( E, 1, 2, 5);
  119.       printf("row sum = %f\n",test);  }
  120.    if(DEBUG>9) { puts("mfdump(E)");
  121.       mfdump ( E ); }
  122.    if(DEBUG>0) puts("mfread(BIG.DTA into E)");
  123.       mfread(E,"big.dta");
  124.    if(DEBUG>0) puts("calculate cumulative column totals => E");
  125.       mfcumc ( E, 1, 2, 5, 7);
  126.    if(DEBUG>9) { puts("mfdump(E)");
  127.       mfdump ( E ); }
  128.    if(DEBUG>0) puts("mfread(BIG.DTA into E)");
  129.       mfread(E,"big.dta");
  130.    if(DEBUG>0) puts("calculate cumulative row totals => E");
  131.       mfcumr ( E, 1, 2, 5, 7);
  132.    if(DEBUG>9) { puts("mfdump(E)");
  133.       mfdump ( E ); }
  134.    if(DEBUG>0) puts("mfread(BIG.DTA into E)");
  135.       mfread(E,"big.dta");
  136.    if(DEBUG>0) puts("calculate move average row totals => E");
  137.       mfmvar ( E, 2, 2, 2, 5, 3 );
  138.    if(DEBUG>9) { puts("mfdump(E)");
  139.       mfdump ( E ); }
  140.    if(DEBUG>0) puts("mfread(BIG.DTA into E)");
  141.       mfread(E,"big.dta");
  142.    if(DEBUG>0) puts("calculate move average column totals => E");
  143.       mfmvac ( E, 2, 2, 2, 5, 3 );
  144.    if(DEBUG>9) { puts("mfdump(E)");
  145.       mfdump (E); }
  146.    if(DEBUG>0) puts("frel(E)");
  147.       frel(E);
  148.    if(DEBUG>0) puts("mfcnt(WIDE.DTA)");
  149.       mfcnt("wide.dta",&rows,&cols);
  150.    if(DEBUG>0) puts("fdim(E)");
  151.       fdim(E,rows,cols);
  152.    if(DEBUG>0) puts("mfread(WIDE.DTA into E)");
  153.       mfread (E,"WIDE.DTA");
  154.    if(DEBUG>0) puts("page output of E to WD-RESLT.OUT");
  155.       mfpgput (E,"WD-RESLT.OUT",72,12,1);
  156.    if(DEBUG>0) puts("mfread(WIDE.DTA into E)");
  157.       mfread(E,"wide.dta");
  158.    if(DEBUG>9) { puts("mfdump(E)");
  159.       mfdump(E); }
  160.    if(DEBUG>0) { puts("\n test rows macro ... ");
  161.       rows(E,i) printf("%5.2f ",f(E,i,2)); }
  162.    if(DEBUG>0) { puts("\n test cols macro  ... ");
  163.       cols(A,j) printf("%5.2f ",f(E,2,j)); }
  164.    if(DEBUG>0) puts("\n fdim(F) for a 120 x 120 matrix speed test");
  165.       fdim (F,120,120);
  166.    if(DEBUG>0) puts("test by placing 500 in all elements .... GO");
  167.       all(F,i,j) f(F,i,j)=500;
  168.    if(DEBUG>0) printf(" %d END\n",no_cols(F) );
  169. }
  170.  
  171.